package com.koi.plus.mapper.gen;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.koi.pojo.gen.GenTable;
import com.koi.pojo.gen.TableColumn;
import com.koi.pojo.gen.TableData;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author ･ᴗ･
 * @description [代码生成业务表-数据库连接层]
 */
@Mapper
public interface GenTableMapper extends BaseMapper<GenTable> {

    /**
     * @description [获取指定数据库下的所有表名称及注释]
     * @author ･ᴗ･
     */
    List<TableData> getAllTableName(@Param("vo") TableData vo, @Param("list") List<String> tableNameList);

    /**
     * @param tableSchema 数据库名
     * @param tableList   生成表名集合
     * @description [获取当前数据库下的指定表名称及注释]
     * @author ･ᴗ･
     */
    List<TableData> getAssignTable(@Param("tableSchema") String tableSchema, @Param("list") List<String> tableList);

    /**
     * @param tableSchema 数据库名称
     * @param tableName   表名
     * @description [获取指定数据库和单表字段]
     * @author ･ᴗ･
     */
    List<TableColumn> getTableColumn(@Param("tableSchema") String tableSchema, @Param("tableName") String tableName);

}
